package com.yuandian.management.service;

import com.yuandian.api.management.entity.ConfGraph;
import com.yuandian.api.management.entity.ConfNetTopology;
import com.yuandian.api.management.entity.ConfNodeProperty;
import com.yuandian.api.management.vo.ConfNetTopologyVo;
import com.yuandian.bpm.common.core.util.R;

import java.util.List;
import java.util.Map;

/**
 * 网络拓扑图-Service接口
 *
 */
public interface NetTopologyConfigService {


	/**
	 * 通过系统id 获取it路径图
	 * @param systemId 系统id
	 * @return 通用返回对象
	 */
	List<Map<String, Object>> getRoadMap(Integer systemId);

	/**
	 * 增加节点
	 * @return 通用返回对象
	 */
	R<String> addNode(ConfNetTopologyVo itRoadVo);

	/**
	 * 增加节点连线
	 * @return 通用返回对象
	 */
	R<String> addLink(ConfGraph confGraph);

	/**
	 * 删除节点连线
	 * @return 通用返回对象
	 */
	R<String> removeLink(ConfGraph confGraph);

	/**
	 * 删除节点
	 * @return 通用返回对象
	 */
	R<String> removeNode(ConfNetTopology confSegment);

	/**
	 * 节点移动位置
	 * @return 通用返回对象
	 */
	R<String> setLocation(ConfNodeProperty confNodeProperty);

	/**
	 * 供网端监控详情 远程调用的 it路径图接口
	 * @return 通用返回对象
	 */
	List<Map<String, Object>> segmentMonitorDetailItRoadGraph(ConfNodeProperty confNodeProperty);

	/**
	 * 修改节点
	 * @return 通用返回对象
	 */
	R<String> updateNode(ConfNetTopologyVo itRoadVo);
}